// 二叉树节点类
class TreeNode {
	int val;
	TreeNode left;
	TreeNode right;
	
	TreeNode(int x) {
		val = x;
	}
}

// 二叉树深度优先搜索类
class BinaryTreeDFS {
	// 前序遍历（根 - 左 - 右）
	public static void preOrderTraversal(TreeNode root) {
		if (root == null) {
			return;
		}
		System.out.print(root.val + " ");
		preOrderTraversal(root.left);
		preOrderTraversal(root.right);
	}
	
	public static void main(String[] args) {
		// 构建二叉树
		TreeNode root = new TreeNode(1);
		root.left = new TreeNode(2);
		root.right = new TreeNode(3);
		root.left.left = new TreeNode(4);
		root.left.right = new TreeNode(5);
		
		System.out.println("二叉树的前序遍历结果:");
		preOrderTraversal(root);
	}
}